/*
DA table generator v. 1.6

Filter from file: C:\Users\GG\Desktop\PRUS\DA\lut2

Real coefficients: 
877 -553 -2563 8745 19757 

Scale coefficent 15

Integral coefficients: 
[28737536,-18120704,-83984384,286556160,647397376]
Input vector size 5
Output vector size 31

Integral coefficients: 
[1654,-1106,-5126,16490,39514]
Input vector size 5
Output vector size 16


*/

module lut2(table_in,table_out);
input [4:0] table_in;
output reg signed [15:0] table_out;


always@(table_in)
          case (table_in)
          5'b00000:table_out = 16'sd0;
          5'b00001:table_out = 16'sd19757;
          5'b00010:table_out = 16'sd8745;
          5'b00011:table_out = 16'sd28502;
          5'b00100:table_out = -16'sd2563;
          5'b00101:table_out = 16'sd17194;
          5'b00110:table_out = 16'sd6182;
          5'b00111:table_out = 16'sd25939;
          5'b01000:table_out = -16'sd5553;
          5'b01001:table_out = 16'sd19204;
          5'b01010:table_out = 16'sd8192;
          5'b01011:table_out = 16'sd27949;
          5'b01100:table_out = -16'sd3116;
          5'b01101:table_out = 16'sd16641;
          5'b01110:table_out = 16'sd5629;
          5'b01111:table_out = 16'sd25386;
          5'b10000:table_out = 16'sd877;
          5'b10001:table_out = 16'sd20634;
          5'b10010:table_out = 16'sd9622;
          5'b10011:table_out = 16'sd29379;
          5'b10100:table_out = -16'sd1686;
          5'b10101:table_out = 16'sd18071;
          5'b10110:table_out = 16'sd7059;
          5'b10111:table_out = 16'sd26816;
          5'b11000:table_out = 16'sd324;
          5'b11001:table_out = 16'sd20081;
          5'b11010:table_out = 16'sd9069;
          5'b11011:table_out = 16'sd28826;
          5'b11100:table_out = -16'sd2239;
          5'b11101:table_out = 16'sd17518;
          5'b11110:table_out = 16'sd6506;
          5'b11111:table_out = 16'sd26263;
          endcase
		  endmodule
